/*
 * PowerWindow.h
 *
 *  Created on: 14/11/2012
 *      Author: san
 */

#ifndef POWERWINDOW_H_
#define POWERWINDOW_H_

#include <gtkmm/window.h>
#include "LevelView.h"
#include <vector>
//#include "PhysicsEngine.h"
#include "Game.h"
#include "Player.h"
#include "Match.h"
#include "Level.h"
#include "RedBird.h"
#include "WhiteEgg.h"
#include "Pig.h"
class PowerWindow : public Gtk::Window {
private:
	LevelView lv;
	Glib::Thread *logicThread;
	Glib::Dispatcher refreshViewDispatcher;
	Match* match;
	Game* game;
	Player* player;
	Level* level;
//	std::vector<VisibleElement *> displayElements;
//	std::vector<VisibleElement *> allElements;
//	PhysicsEngine physicsEngine;
	void refreshScreen();
	void logicMain();
	bool onClick(GdkEventButton *button);
public:
	PowerWindow();
	virtual ~PowerWindow();
};

#endif /* POWERWINDOW_H_ */
